﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TsInterfaceRazor.ModelInfo
{
    /// <summary>
    /// 接口属性描述
    /// </summary>
    public class ModelPropertyDescribe
    {
        /// <summary>
        /// 属性名
        /// </summary>
        public string PropertyName { get; set; }
        /// <summary>
        /// 属性描述
        /// </summary>
        public string PropertyDescribe { get; set; }
        /// <summary>
        /// 属性类型
        /// </summary>
        //public ModelType PropertyTypeEnum { get; set; }
        /// <summary>
        /// 属性类型
        /// </summary>
        public string PropertyType { get; set; }
        /// <summary>
        /// 是否是可空类型
        /// </summary>
        public bool IsNull { get; set; } = false;
        ///// <summary>
        ///// 一个属性是数组之类的
        ///// </summary>
        //public IEnumerable<ModelDescribe> ModelDescribes { get; set; }
    }

    /// <summary>
    /// 类型枚举
    /// </summary>
    [Flags]
    public enum ModelType
    {

        布尔类型 = 0,//（boolean）
        数字类型 = 5,//（number）
        字符串类型 = 10,//(string)
        数组类型 = 15,//（array）
        元组类型 = 20,//（tuple）
        枚举类型 = 25,//（enum）
        任意类型 = 30,//（any）
        //void类型=35,//void
        //never类型=40,//never
        null类型 = 45,//null,
        //undefined类型=50,//undefined
    }
}
